package com.cskaoyan.javase.method._4exercise;

/**
 * 计算器
 * 定义一个计算器（Calculator）它的功能有
 *  加，减，乘，除
 *  求平方
 *  求a的n次方
 *
 * @since 16:01
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Calculator {
    public static void main(String[] args) {
        System.out.println(power(2, 8));

        System.out.println(divide(10, 3));
    }

    public static int add(int num1, int num2) {
        return num1 + num2;
    }

    public static int subtract(int num1, int num2) {
        return num1 - num2;
    }
    // 方法的重载
    public static double subtract(double num1, double num2) {
        return num1 - num2;
    }

    public static int multiply(int num1, int num2) {
        return num1 * num2;
    }

    public static double divide(int num1, int num2) {
        return num1 / (num2 + 0.0);
    }

    public static int square(int num) {
        return num * num;
    }

    public static int power(int num, int n) {
        // 求幂运算,有两种方法
        /*
            1.用Math.pow(double,double),方法的返回值是double
            2.自己写实现,用循环做
         */

        // return (int) Math.pow(num, n);

        // 用循环做 num的n次方
        int result = 1;
        for (int i = 1; i <= n; i++) {
            // 累乘
            // num *= i;
            result *= num;
        }
        return result;
    }

}
